package com.example.androidstudy


fun main(args: Array<String>) {
    println("啦啦啦")
    println(sumLambda(1, 2))
    println(vars(1, 2))


    println(getStringLength("lalalallal"))
    println(getStringLength(10000))
    //区间
    //区间表达式由具有操作符形式..的rangeTo函数辅以in和!in形成
    //区间是为任何可比较类型定义的，但对于整型原生类型，它有一个优化的实现

    for (i in 1..4) print(i)
    println("\n==========================")
    for (i in 4..1) print(i)
    println("\n==========================")
    for (i in 1..4 step 2) print(i)
    println("\n==========================")
    for (i in 4 downTo 1 step 2) print(i)
    println("\n==========================")
    for (i in 1 until 10) {
        println(i)
    }

    //比较大小
    var a = "10"
    var b = "10"
    println("===${a == b}===")
    println("===${a === b}===")


}

val sumLambda: (Int, Int) -> Int = { x, y -> x + y }
fun vars(v: Int, v2: Int) {
    println(v + v2)
}


fun getStringLength(obj: Any): Int? {
    if (obj is String) {
        //做过类新判断以后，ojb会被系统自动转换为String类型
        return obj.length
    }
    //在这里还有还有一种方法，与java中instanceof不同，使用 !is
    if (obj !is String) {
        return null
    }
    return null
}

